Mailgun integration and services pages

James Peret 7 years ago
parent
commit
7573d3d0c3

+ 3 - 0
.gitignore

@@ -5,3 +5,6 @@
5 5
 /bower_components
6 6
 .ftppass
7 7
 sftpCache.json
8
+.DS_Store
9
+app/.DS_Store
10
+app/images/.DS_Store

+ 2 - 1
Gruntfile.js

@@ -379,6 +379,7 @@ module.exports = function (grunt) {
379 379
           src: [
380 380
             '*.{ico,png,txt}',
381 381
             '*.html',
382
+            '*.php',
382 383
             'images/{,*/}*.{webp}',
383 384
             'styles/fonts/{,*/}*.*'
384 385
           ]
@@ -503,5 +504,5 @@ module.exports = function (grunt) {
503 504
     'build',
504 505
     'sftp-deploy'
505 506
   ]);
506
-  
507
+
507 508
 };

BIN
app/.DS_Store


BIN
app/images/.DS_Store


BIN
app/images/corte-plasma.jpg


BIN
app/images/solidworks.jpg


BIN
app/images/solucoes.jpg


+ 1 - 1
app/index.html

@@ -58,7 +58,7 @@
58 58
 
59 59
           <div class="col-md-4" style="text-align: center;">
60 60
             <h4>Endereço</h4>
61
-            <p><i>Estrada José benedito dos Santos 4000 - Guararema, SP</i></p>
61
+            <p style="text-align: center;"><i>Estrada José benedito dos Santos 4000<br>Guararema, SP - Brasil</i></p>
62 62
           </div>
63 63
           <div class="col-md-4" style="text-align: center;">
64 64
             <h4>Contato</h4>

+ 12 - 0
app/scripts/app.js

@@ -56,6 +56,18 @@ angular
56 56
       url: '/impressao-3d',
57 57
       templateUrl: 'views/impressao-3d.html',
58 58
       controller: 'MainCtrl'
59
+    }).state('corte-plasma', {
60
+      url: '/corte-plasma',
61
+      templateUrl: 'views/corte-plasma.html',
62
+      controller: 'MainCtrl'
63
+    }).state('solucoes', {
64
+      url: '/solucoes',
65
+      templateUrl: 'views/solucoes.html',
66
+      controller: 'MainCtrl'
67
+    }).state('desenho-tecnico', {
68
+      url: '/desenho-tecnico',
69
+      templateUrl: 'views/desenho-tecnico.html',
70
+      controller: 'MainCtrl'
59 71
     }).state('eletronica', {
60 72
       url: '/eletronica',
61 73
       templateUrl: 'views/eletronica.html',

+ 29 - 7
app/scripts/controllers/main.js

@@ -8,20 +8,23 @@
8 8
  * Controller of the siteOficinaItapetiApp
9 9
  */
10 10
 angular.module('siteOficinaItapetiApp')
11
-  .controller('MainCtrl', [ '$window', '$scope', function ($window, $scope) {
11
+  .controller('MainCtrl', [ '$window', '$scope', '$rootScope', '$http', function ($window, $scope, $rootScope, $http) {
12 12
       $window.scrollTo(0, 0);
13 13
 
14
+      $scope.Math = window.Math;
15
+
14 16
       $scope.laser_cut = {
15
-        value: 1,
17
+        value: 0,
16 18
         options: {
17 19
            floor: 0,
18 20
            ceil: 20,
19
-           step: 1,
20
-           minLimit: 1,
21
-           maxLimit: 20
21
+           step: 0.5,
22
+           minLimit: 0.5,
23
+           maxLimit: 20,
24
+           precision: 1
22 25
         },
23 26
         cost: [120, 120, 120, 110, 110, 100, 100, 100, 100, 90, 90, 90, 90, 90, 80, 80, 80, 80, 80, 70],
24
-        value_project: 0.5,
27
+        value_project: 0,
25 28
         options2: {
26 29
            floor: 0,
27 30
            ceil: 8,
@@ -33,4 +36,23 @@ angular.module('siteOficinaItapetiApp')
33 36
         cost2: 50
34 37
       }
35 38
 
36
-  }]);
39
+    $scope.sendMessage = function(msgData){
40
+      console.log("> Sending message from " + msgData.name);
41
+      var req = {
42
+         method: 'POST',
43
+         url: 'send_contact_mail.php',
44
+         data: {
45
+           to: "oficina.itapeti@gmail.com",
46
+           from: msgData.email,
47
+           subject: msgData.subject,
48
+           msg: msgData.message
49
+         }
50
+      }
51
+
52
+      $http(req).then(function(data){
53
+        console.log(data);
54
+      });
55
+    };
56
+
57
+
58
+}]);

+ 38 - 0
app/send_contact_mail.php

@@ -0,0 +1,38 @@
1
+<?php
2
+
3
+function send_mail($email, $subject, $msg, $from) {
4
+
5
+	$config = array();
6
+	$config['api_key'] = "key-66621uwx8ylr5ezm21f-3gixzzono1n4";
7
+ 	$config['api_url'] = "https://api.mailgun.net/v3/oficinaitapeti.com.br/messages";
8
+
9
+	$message = array();
10
+	$message['from'] = "Oficina Itapeti <contato@oficinaitapeti.com.br>";
11
+	$message['to'] = $email;
12
+	$message['h:Reply-To'] = $from;
13
+	$message['subject'] = $subject;
14
+	$message['html'] = $msg;
15
+
16
+	$ch = curl_init();
17
+
18
+	curl_setopt($ch, CURLOPT_URL, $config['api_url']);
19
+	curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
20
+	curl_setopt($ch, CURLOPT_USERPWD, "api:{$config['api_key']}");
21
+	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
22
+	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
23
+	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
24
+	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
25
+	curl_setopt($ch, CURLOPT_POST, true);
26
+	curl_setopt($ch, CURLOPT_POSTFIELDS, $message);
27
+
28
+	$result = curl_exec($ch);
29
+	curl_close($ch);
30
+	return $result;
31
+}
32
+
33
+$postdata = file_get_contents("php://input");
34
+$request = json_decode($postdata);
35
+
36
+echo send_mail($request->to, $request->subject, $request->msg, $request->from);
37
+
38
+?>

+ 26 - 0
app/styles/main.css

@@ -145,3 +145,29 @@ h1 a, h2 a, h3 a, h4 a, h5 a { cursor: pointer; }
145 145
 .orcamento h5 { margin-top: 27px;}
146 146
 
147 147
 .orcamento .row { margin-bottom: 25px;}
148
+
149
+.rzslider .rz-pointer {
150
+    top: -8px;
151
+    z-index: 3;
152
+    width: 18px;
153
+    height: 18px;
154
+    cursor: pointer;
155
+    background-color: #5cb85c;
156
+}
157
+
158
+.rzslider .rz-pointer:after {
159
+    position: absolute;
160
+    top: 6px;
161
+    left: 6px;
162
+    width: 6px;
163
+    height: 6px;
164
+    background: #ffffff;
165
+    -webkit-border-radius: 4px;
166
+    -moz-border-radius: 4px;
167
+    border-radius: 4px;
168
+    content: '';
169
+}
170
+
171
+.well {
172
+  background-color: white;
173
+}

+ 36 - 5
app/views/contato.html

@@ -1,8 +1,39 @@
1 1
 <div class="container last" style="margin-top: 53px;">
2
-  <div class="jumbotron" style="margin-top: 20px;">
3
-    <h1 class="page-header">Contato</h1>
4
-    <p class="lead">
5
-      Deixe uma mensagem ou envie um email para <a href="mailto:oficina.itapeti@gmail.com">oficina.itapeti@gmail.com</a>
6
-    </p>
2
+  <div class="row well" style="margin-top: 20px;">
3
+    <div class="col-md-12">
4
+      <h1 >Contato</h1>
5
+      <p>
6
+        Deixe uma mensagem ou envie um email para <a href="mailto:oficina.itapeti@gmail.com">oficina.itapeti@gmail.com</a>
7
+      </p>
8
+      <br>
9
+      <form>
10
+        <div class="row">
11
+          <div class="col-md-6">
12
+            <div class="form-group">
13
+              <label for="exampleInputEmail1">Nome</label>
14
+              <input type="text" class="form-control" ng-model="msgData.name" id="userName" required placeholder="Nome">
15
+            </div>
16
+          </div>
17
+            <div class="col-md-6">
18
+              <div class="form-group">
19
+                <label for="exampleInputEmail1">Email</label>
20
+                <input type="email" class="form-control" ng-model="msgData.email" id="userEmail" required placeholder="Email">
21
+              </div>
22
+            </div>
23
+        </div>
24
+        <div class="form-group">
25
+          <label for="exampleInputEmail1">Assunto</label>
26
+          <input type="text" class="form-control" ng-model="msgData.subject" id="userSubject" required placeholder="Assunto">
27
+        </div>
28
+        <div class="form-group">
29
+          <label for="exampleInputEmail1">Mensagem</label>
30
+          <textarea class="form-control" rows="5" ng-model="msgData.message" id="userMessage" required></textarea>
31
+        </div>
32
+        <p style="text-align: center;">
33
+          <button type="submit" ng-click="sendMessage(msgData)" value="Enviar" id="SubmitBtn" class="btn btn-success">Enviar</button>
34
+        </p>
35
+      </form>
36
+
37
+    </div>
7 38
   </div>
8 39
 </div>

+ 6 - 2
app/views/corte-laser.html

@@ -38,7 +38,7 @@
38 38
         </p>
39 39
       </div>
40 40
       <p style="text-align: center; margin-top: 45px;">
41
-        <a class="btn btn-lg btn-success" type="button" data-toggle="collapse" data-target="#collapseOrcamento" aria-expanded="true" aria-controls="collapseOrcamento" ng-hide="hidden" ng-click="hidden = true">Faça um orçamento</a>
41
+        <a class="btn btn-success" type="button" data-toggle="collapse" data-target="#collapseOrcamento" aria-expanded="true" aria-controls="collapseOrcamento" ng-hide="hidden" ng-click="hidden = true">Faça um orçamento</a>
42 42
       </p>
43 43
 
44 44
       <div class="well orcamento collapse" id="collapseOrcamento">
@@ -54,9 +54,13 @@
54 54
         <div class="row" style="margin-bottom: 0px;">
55 55
           <div class="col-md-3"><h5>Total:</h5></div>
56 56
           <div class="col-md-9">
57
-            <h3 style="text-align: right;">R$ {{(laser_cut.cost[laser_cut.value - 1] * laser_cut.value) + (laser_cut.value_project * laser_cut.cost2)}},00</h3>
57
+
58
+            <h3 style="text-align: right;" ng-show="laser_cut.value > 0">R$ {{(laser_cut.cost[Math.ceil(laser_cut.value) - 1] * laser_cut.value) + (laser_cut.value_project * laser_cut.cost2)}},00</h3>
58 59
           </div>
59 60
         </div>
61
+        <p style="text-align: center; margin-top: 15px;">
62
+          <a class="btn btn-success" ui-sref="contato">Entrar em contato</a>
63
+        </p>
60 64
 
61 65
       </div>
62 66
 

+ 18 - 0
app/views/corte-plasma.html

@@ -0,0 +1,18 @@
1
+<div class="container last" style="margin-top: 53px;">
2
+  <div class="row">
3
+    <div class="col-md-12">
4
+      <h1 class="page-header">Corte Plasma</h1>
5
+      <p><img src="images/corte-plasma.jpg" class="img-thumbnail"></p><br>
6
+      <p>
7
+        Corte de chapas de metal como ferro aço ou aluminio utilizando uma maquina de corte a plasma.
8
+      </p>
9
+    </div>
10
+  </div>
11
+  <div class="row">
12
+    <div class="col-md-12">
13
+      <p style="text-align: center; margin-top: 15px;">
14
+        <a class="btn btn-success" ui-sref="contato">Entrar em contato</a>
15
+      </p>
16
+    </div>
17
+  </div>
18
+</div>

+ 19 - 0
app/views/desenho-tecnico.html

@@ -0,0 +1,19 @@
1
+<div class="container last" style="margin-top: 53px;">
2
+  <div class="row">
3
+    <div class="col-md-12">
4
+      <h1 class="page-header">Desenho Técnico</h1>
5
+      <p><img src="images/solidworks.jpg" class="img-thumbnail"></p><br>
6
+      <p>
7
+        Desenvolvimento de projetos tecnicos utilizando o software Solidworks. Os arquivos gerados podem incluir:
8
+        modelos 3D de peças e objetos, vetores e manuais de intruções.
9
+      </p>
10
+    </div>
11
+  </div>
12
+  <div class="row">
13
+    <div class="col-md-12">
14
+      <p style="text-align: center; margin-top: 15px;">
15
+        <a class="btn btn-success" ui-sref="contato">Entrar em contato</a>
16
+      </p>
17
+    </div>
18
+  </div>
19
+</div>

+ 3 - 3
app/views/servicos.html

@@ -7,7 +7,7 @@
7 7
       <div class="thumbnail">
8 8
         <img src="images/thumb-solucoes.jpg" alt="...">
9 9
         <div class="caption">
10
-          <h3>Soluções</h3>
10
+          <h3><a ui-sref="solucoes">Soluções</a></h3>
11 11
           <p>Desenvolvimento de soluções para resolver problemas especificos.</p>
12 12
         </div>
13 13
       </div>
@@ -16,7 +16,7 @@
16 16
       <div class="thumbnail">
17 17
         <img src="images/thumb-solidworks.jpg" alt="...">
18 18
         <div class="caption">
19
-          <h3>Desenho Técnico</h3>
19
+          <h3><a ui-sref="desenho-tecnico">Desenho Técnico</a></h3>
20 20
           <p>Criação de desenhos tecnicos para produção utilizando o Solidworks.</p>
21 21
         </div>
22 22
       </div>
@@ -56,7 +56,7 @@
56 56
     <div class="thumbnail">
57 57
       <img src="images/thumb-plasma.jpg" alt="...">
58 58
       <div class="caption">
59
-        <h3>Corte a Plasma</h3>
59
+        <h3><a ui-sref="corte-plasma">Corte a Plasma</a></h3>
60 60
         <p>Corte de peças de metal utilizando uma maquina de corte a plasma.</p>
61 61
       </div>
62 62
     </div>

+ 18 - 0
app/views/solucoes.html

@@ -0,0 +1,18 @@
1
+<div class="container last" style="margin-top: 53px;">
2
+  <div class="row">
3
+    <div class="col-md-12">
4
+      <h1 class="page-header">Soluções</h1>
5
+      <p><img src="images/solucoes.jpg" class="img-thumbnail"></p><br>
6
+      <p>
7
+        Desenvolvimento de soluções por encomenda. Utilizamos varias tecnicas diferentes para criar prototipos, produtos ou dispositivos.
8
+      </p>
9
+    </div>
10
+  </div>
11
+  <div class="row">
12
+    <div class="col-md-12">
13
+      <p style="text-align: center; margin-top: 15px;">
14
+        <a class="btn btn-success" ui-sref="contato">Entrar em contato</a>
15
+      </p>
16
+    </div>
17
+  </div>
18
+</div>